using AiQiuQuan.Sport.Model.Enums;
namespace AiQiuQuan.Sport.WebApi.Entities
{
    /// <summary>
    /// 活动、约球、比赛订单
    /// </summary>
    public class GameOrder : BaseEntity
    {
        /// <summary>
        /// 名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 对应购买商品业务ID
        /// </summary>
        public Guid BusinessId { get; set; }

        /// <summary>
        /// 活动比赛类型：5活动、6约球、10比赛
        /// </summary>
        public BusinessTypeEnum BusinessType { get; set; }

        /// <summary>
        /// 订单号
        /// </summary>
        public string OrderNo { get; set; }

        /// <summary>
        /// 比赛日期
        /// </summary>
        public DateTimeOffset GameDate { get; set; }

        /// <summary>
        /// 开始时间
        /// </summary>
        public string StartTime { get; set; }

        /// <summary>
        /// 结束时间
        /// </summary>
        public string EndTime { get; set; }

        /// <summary>
        /// 地点
        /// </summary>
        public string Address { get; set; }

        /// <summary>
        /// 支付方式：1.微信支付、2支付宝支付、3.场馆会员卡支付
        /// </summary>
        public PayTypeEnum PayType { get; set; }

        /// <summary>
        /// 状态：1未支付、2已支付、5部分退款、6全部退款、8已完成
        /// </summary>
        public GameOrderStateEnum State { get; set; }

        /// <summary>
        /// 单价
        /// </summary>
        public decimal Price { get; set; }

        /// <summary>
        /// 报名人数
        /// </summary>
        public int JoinCount { get; set; }

        /// <summary>
        /// 订单总金额
        /// </summary>
        public decimal OrderAmount { get; set; }

        /// <summary>
        /// 在线实付金额
        /// </summary>
        public decimal PayAmount { get; set; }

        /// <summary>
        /// 抵扣积分
        /// </summary>
        public int Bonus { get; set; }

        /// <summary>
        /// 抵扣积分金额
        /// </summary>
        public decimal BonusAmount { get; set; }

        /// <summary>
        /// 优惠券ID
        /// </summary>
        public Guid? CouponId { get; set; }

        /// <summary>
        /// 优惠券金额
        /// </summary>
        public decimal CouponAmount { get; set; }

        /// <summary>
        /// 订单备注
        /// </summary>
        public string? Remark { get; set; }

        /// <summary>
        /// 退款金额
        /// </summary>
        public decimal RefundAmount { get; set; }

        /// <summary>
        /// 退款备注
        /// </summary>
        public string? RefundRemark { get; set; }

        /// <summary>
        /// 用户ID
        /// </summary>
        public Guid UserId { get; set; }

        /// <summary>
        /// 用户电话
        /// </summary>
        public string? Mobile { get; set; }

        /// <summary>
        /// 用户名称
        /// </summary>
        public string? UserName { get; set; }

        /// <summary>
        /// 取消人数
        /// </summary>
        public int CancelCount { get; set; }

        /// <summary>
        /// 取消时间
        /// </summary>
        public DateTimeOffset? CancelTime { get; set; }
    }
}
